package ${setMapperPackageName};

import ${setDomainPackageName}.${DOMAIN_CLASSNAME};
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import ${pagingQueryDto};

/**
* Description:${tableAnnotation}Mapper类
* @author ${author}
* @date ${date}
*/
@Mapper
@Repository
public interface ${MAPPER_CLASSNAME} {

    /**
    * Description:新增${tableAnnotation}
    *
    * @param ${domain_classname} ${tableAnnotation}
    * @return int
    * @author ${author}
    * @date ${dateTime}
    */
    int create(${DOMAIN_CLASSNAME} ${domain_classname});

    /**
    * Description:根据id修改${tableAnnotation}
    *
    * @param ${domain_classname} ${tableAnnotation}
    * @return int
    * @author ${author}
    * @date ${dateTime}
    */
    int updateById(${DOMAIN_CLASSNAME} ${domain_classname});

    /**
    * Description:根据ids删除${tableAnnotation}
    *
    * @param ids id字符串数组
    * @return int
    * @author ${author}
    * @date ${dateTime}
    */
    int deleteByIds(List<String> ids);

    /**
    * Description:根据id查找${tableAnnotation}
    *
    * @param id id
    * @return ${setDomainPackageName}.${DOMAIN_CLASSNAME}
    * @author ${author}
    * @date ${dateTime}
    */
    ${DOMAIN_CLASSNAME} selectById(${primaryKeyModtype} id);

    /**
    * Description:查询${tableAnnotation}分页列表
    *
    * @param pagingQueryDto 分页请求对象
    * @return java.util.List<${setDomainPackageName}.${DOMAIN_CLASSNAME}>
    * @author ${author}
    * @date ${dateTime}
    */
     List<${DOMAIN_CLASSNAME}> select${DOMAIN_CLASSNAME}List(PagingQueryDto<${DOMAIN_CLASSNAME}> pagingQueryDto);

    /**
    * Description: 查询${tableAnnotation}总记录数
    *
    * @param pagingQueryDto 分页请求对象
    * @return long
    * @author ${author}
    * @date ${dateTime}
    */
    long select${DOMAIN_CLASSNAME}Counts(PagingQueryDto<${DOMAIN_CLASSNAME}> pagingQueryDto);
}
